#include <string.h>
#include <vector>
#include<unordered_set>
using namespace std;

namespace CppAlgorithms
{
	class CppAlgorithms	{
	public:

		static char* ReplaceSpaceWith_20(const char * str);

		static char* RemoveDuplicateFromString(const char * str);

		static bool isAnagram(const char* str1, const char* str2);

		static string insertAt(char * str, int position, char c);

		static vector<char *> permut(char s[], int length);

		static int greatest_common_divisor(int &a, int &b);		

		static	char * CppAlgorithms::removeDuplicateFromString(char *str)		;

		void remove_duplicate(int input[], int length, unordered_set<int>  &result);

		static vector<unordered_set<int>> CppAlgorithms::getSubsets(unordered_set<int> set);
	};

	class Helper {
	public:
		template <class T>
		static void swap(T &a, T &b);

	};
}